<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        // function outer() {
        //     let a = 1;
        //     function fn() {
        //         a++;
        //         console.log(`被调用了${a}次`);

        //     }
        //     return fn
        // }
        // const fun = outer()
        // const obj = {
        //     uname: 'cheny',
        //     console.log(this);

        // age: () => {
        // let age = 18;
        // const ages = () => {
        //     console.log(this);

        // }
        // ages()
        // console.log(this);

        // }
        // }
        // obj.()

        // const [a, b, [c, d]] = [1, 2, [3, 4]];
        // console.log(c);
        // // console.log(d);

        // const [a1, b1, [c1, d1]] = ['oppo', 'vivo', ['小米', '华为']];
        // console.log(c1);

        // const p = new Promise((resolve, reject) => {
        //     setTimeout(() => {
        //         // resolve('成功')
        //         reject('失败')
        //     }, 2000)
        // })
        // p.then(results => {
        //     console.log(results);

        // }).catch(errors => {
        //     console.log(errors);

        // })
        function myAxios(config){
            return new Promise((resolve, reject) => {
                const xhr =new XMLHttpRequest()
                if (config.params) {
                    const paramsObj=new URLSearchParams(config.params)
                    const queryString=paramsObj.toString()
                    config.url+=`?${queryString}`
                    
                }
                xhr.open(config.method||'GET',config.url)
                xhr.addEventListener('loadend',()=>{
                    if (xhr.status==200&&xhr.status<300) {
                        resolve(JSON.parse(xhr.response))
                        
                    }else{
                        reject(new Error(xhr.response))
                    }
                })
                xhr.send()
            })
        }
        myAxios({
            url:''
        }).then(result=>{
            console.log(result);
            
        }).catch(error=>{
            console.log(error);
            
        })


    </script>

</body>

</html>